查看原文
其他

生成扩散模型漫谈:“硬刚”扩散ODE

苏剑林 PaperWeekly 2023-01-06

©PaperWeekly 原创 · 作者 | 苏剑林
单位 | 追一科技
研究方向 | NLP、神经网络


《生成扩散模型漫谈:一般框架之SDE篇》中,我们从 SDE 的角度理解了生成扩散模型,然后在《生成扩散模型漫谈:一般框架之ODE篇》中,我们知道 SDE 对应的扩散模型中,实际上隐含了一个 ODE 模型。无独有偶,在《生成扩散模型漫谈:DDIM = 高观点DDPM》中我们也知道原本随机采样的 DDPM 模型中,也隐含了一个确定性的采样过程 DDIM,它的连续极限也是一个 ODE。

细想上述过程,可以发现不管是 “DDPM→DDIM” 还是 “SDE→ODE”,都是从随机采样模型过渡到确定性模型,而如果我们一开始的目标就是 ODE,那么该过程未免显得有点“迂回”了。在本文中,笔者尝试给出 ODE 扩散模型的直接推导,并揭示了它与雅可比行列式、热传导方程等内容的联系。




微分方程

像 GAN 这样的生成模型,它本质上是希望找到一个确定性变换,能将从简单分布(如标准正态分布)采样出来的随机变量,变换为特定数据分布的样本。flow 模型也是生成模型之一,它的思路是反过来,先找到一个能将数据分布变换简单分布的可逆变换,再求解相应的逆变换来得到一个生成模型。
传统的 flow 模型是通过设计精巧的耦合层(参考“细水长flow”系列)来实现这个可逆变换,但后来大家就意识到,其实通过微分方程也能实现这个变换,并且理论上还很优雅。基于“神经网络 + 微分方程”做生成模型等一系列研究,构成了被称为“神经ODE”的一个子领域。
考虑 上的一阶(常)微分方程(组)


假设 ,那么给定 ,(在比较容易实现的条件下)我们可以确定地求解出 ,也就是说该微分方程描述了从 的一个变换。特别地,该变换还是可逆的,即可以逆向求解该微分方程,得到从 的变换。所以说,微分方程本身就是构建可逆变换的一个理论优雅的方案。



雅可比行列式
跟之前的扩散模型一样,在这篇文章中,我们将 视为一个数据样本,而将 视为简单分布的样本,我们希望通过微分方程,来实现从数据分布到简单分布的变换。
首先,我们从离散化的角度来理解微分方程(1):
由于是确定性变换,所以我们有

这里的 表示变换的雅可比矩阵, 代表行列式的绝对值。直接对式 (2) 两边求偏导,我们就得到
根据《行列式的导数》[1] 一文,我们就有

于是我们可以写出




泰勒近似

假设 是一簇随着参数t连续变化的分布的概率密度函数,其中 是数据分布, 则是简单分布,当 都较小时,我们有一阶泰勒近似
代入式(2)的 ,然后对照式(6),可以得到 所满足的方程
换句话说,满足该方程的任意 ,都可以用来构造一个微分方程(1),通过求解它来实现数据分布和简单分布之间的变换。我们也可以将它整理得

它其实就是《生成扩散模型漫谈:一般框架之ODE篇》介绍的 “Fokker-Planck 方程”在 时的特例。



热传导方程
我们考虑如下格式的解

其中 可以是一个矩阵,也可能是一个标量,视具体考虑的复杂度而定。为什么要考虑这种形式的解?说实话,笔者一开始就是往 DDIM 格式去凑的,后来就是发现一般化后能跟下面的扩散方程联系起来,所以就直接设为式(10)了。
事后来看,如果假设 是非负标量函数,那么将它代入式(2)后,就会发现其格式跟梯度下降有点相似,即从 是逐渐寻找低概率区域,反之从 就是逐渐寻找高概率区域,跟直觉相符,这也算是式(10)的一个启发式引导吧。
将式(10)代入方程(9)后,我们可以得到
这就是偏微分方程中的“扩散方程”[2]。这里我们只考虑一个极简单的情形—— 是跟 无关的标量函数 ,此时扩散方程简化为
这就是“热传导方程”[3],是我们接下来要重点求解和分析的对象。



求解分布
利用傅立叶变换,可以将热传导方程转为常微分方程,继而完成分布 的求解,结果是:
其中 ,或者 (其中 )。可以看到,热传导方程的解正好是以 为初始分布的高斯混合模型。

过程:这里简单介绍一下热传导方程的求解思路。对于不关心求解过程的读者,或者已经熟悉热传导方程的读者,可以跳过这部分内容。

用傅立叶变换求热传导方程(12)其实很简单,对两边的 变量做傅立叶变换,根据 的原则,结果是

这只是关于 t 的常微分方程,可以解得

其中 ,而 则是 的傅立叶变换。现在对两边做傅立叶逆变换, 自然变回 变回 则对应正态分布 ,最后利用傅立叶变换的卷积性质,就得到解 (13)。



完成设计
现在我们汇总一下我们的结果:通过求解热传导方程,我们确定了
此时对应的微分方程
给出了从 的一个确定性变换。如果 易于采样,并且 已知,那么我们就可以随机采样 ,然后逆向求解该微分方程,来生成 的样本。
第一个问题,什么时候 是易于采样的?根据结果(16),我们知道
足够大时, 的影响就很微弱了,此时可以认为
这就实现了 易于采样的目的。因此,选择 的一般要求是:满足 的光滑单调递增函数。
第二个问题,就是如何计算 ?这其实跟《生成扩散模型漫谈:一般框架之SDE篇》中的“得分匹配”一节是一样的,我们用一个神经网络 去拟合它,训练目标是
这叫做“条件得分匹配”,其推导我们在 SDE 篇已经给出了,这里就不重复了。




文章小结

在这篇文章中,我们对 ODE 式扩散模型做了一个“自上而下”的推导:首先从 ODE 出发,结合雅可比行列式得到了概率变化的一阶近似,然后对比直接泰勒展开的一阶近似,得到了 ODE 应该要满足的方程,继而转化为扩散方程、热传导方程来求解。相对来说,整个过程比较一步到位,不需要通过 SDE、FP 方程等结果来做过渡。



参考文献

[1] https://kexue.fm/archives/2383

[2] https://en.wikipedia.org/wiki/Diffusion_equation

[3] https://en.wikipedia.org/wiki/Heat_equation



更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存